const express = require('express');
const db = require('../db/index');  // 导入数据库连接对象
const router = express.Router();

// 提交答案的接口
router.post('/submitAnswers', (req, res) => {
    const answers = req.body.answers;  // 从请求中获取答案数组
    let score = 0;  // 初始分数

    // 遍历每道题目，检查答案
    answers.forEach(answer => {
        const { question_id, userAnswer } = answer;

        // 查询数据库中的答案
        db.query('SELECT * FROM question WHERE question_id = ?', [question_id], (err, results) => {
            if (err) {
                console.log(err);
                return res.status(500).json({ success: false, message: '数据库查询错误' });
            }

            if (results.length > 0) {
                const correctAnswer = JSON.parse(results[0].answer);  // 数据库中的正确答案（JSON字符串转为数组）

                // 判断答案是否正确（支持多选）
                const isCorrect = Array.isArray(userAnswer)
                    ? userAnswer.sort().toString() === correctAnswer.sort().toString()
                    : userAnswer === correctAnswer[0];  // 判断单选或填空题

                if (isCorrect) {
                    score += 10;  // 每题10分，可以根据实际需要调整
                }
            }
        });
    });
    // 返回评分结果
    res.json({
        success: true,
        score,
        total: answers.length * 10,  // 总分
    });
});

module.exports = router;